技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2021 iThome 鐵人賽
DAY
18
0
DevOps
中台化轉型
系列 第
18
篇
機器學習:模型訓練架構
13th鐵人賽
HO-HSUN
2021-09-18 16:03:51
698 瀏覽
分享至
分散式運算架構
MapReduce
利用函式語言程式設計的概念,將分散運算分為映射(Map)和歸納(Reduce)階段,使用程式介面支援大數據運算任務。
Ring-AllReduce
訊息傳輸介面(Message Passing Interface, MPI)是一種頻寬優化優先的方法,實現了歸納(Reduce)的運算操作(Sum, Avg, Max),符合了模型訓練所需。
Initialization:將N個節點當中的梯度切成N個切片。
ScatterRecude:向環(Ring)中的下一個節點發送N個切片中的一個。
AllGather:透過 N-1 次環形通訊,將每個切片的梯度運算結果果播到每個節點。
Merge:每個節點均獲得了所有切片內的梯度運算結果。
參數伺服器(Parameter Server)
將模型資料儲存在"參數伺服器"上,計算節點通過"參數伺服器"來分享資料。
Server Group:
Server Manager:分配資源並維護元資料(Metadata)
Server Node:提供資料讀寫服務
Worker Group:實際運算任務
Task Scheduler:任務的分配,以及節點可用性計算
Resource Manager:資源分配和可用性保證
資料流
運算過程被抽象化成資料流傳輸過程,每個資料流中的節點代表資料運算。
平行運算同步機制
不同的節點中可以平行資料運算,但節點間也需要通訊來完成進度同步及工作協作。
同步平行運算(Bulk Synchronous Parallel, BSP)
要求所有節點以同樣的速度進行資料處理。
Superstep:一次完整的資料運算疊代
Processor:每個節點上可以有多個 Processor 做為資料處裡的一個運算單位。
Local Computation:Processor 上的運算。
Communication:Processor 之間的通訊。
Barrier Synchronization:同步屏障(Barrier)
程序中的每個執行緒進行到此,都必須等待,直到所有執行緒都到達才可以繼續執行下一個階段。
非同步平行運算(Asynchronous Synchronous Parallel, ASP)
需要配合適當的梯度下降演算法,否則可能會導致運算失敗,影響模型收歛速度。
延遲同步運算(Stale Synchronous Parallel, SSP)
利用一個 Staleness-Threshold 的閥值來確定同步的時機,閥值可依據運算狀態動態調節,適合節點運算能力較為一致的高叢集同質性環境。
梯度下降演算法
隨機梯度下降(Stochastic Gradient Descent, SGD)
彈性平均梯度下降(Elastic Averaging SGD, EASGD)
非同步隨機梯度下降(Asynchronous Stochastic Gradient Descent, ASGD)
同步隨機梯度下降(Downpour Stochastic Gradient Descent, Downpour SGD)
延遲懲罰
AsyncAdaGrad
AdaptiveRevision
AdaDelay
延遲補償
留言
追蹤
檢舉
上一篇
機器學習:深度學習
下一篇
機器學習:資料流圖(Data Flow Graphs)模型訓練架構
系列文
中台化轉型
共
30
篇
目錄
RSS系列文
訂閱系列文
6
人訂閱
26
大數據平台:資料倉儲
27
大數據平台:分散式計算
28
大數據平台:分散式檔案
29
大數據平台:訊息中介
30
大數據平台:叢集管理
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22203
篇
完賽人數
602
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
筆電無法使用usb開機重裝系統
要怎知道LINE使用者的使用地址
防火牆互通問題
桌面的使用者文件圖標壞掉
Cisco 防火牆密碼確認正確,可是無法登入
函數問題
開啟Microsoft Edge 瀏覽器無法開啟網頁,出現錯誤訊息
一開機就自動鎖定帳戶
Audiosrv Windows Audio 高占用 CPU
bat檔截斷問題
熱門回答
防火牆互通問題
開啟Microsoft Edge 瀏覽器無法開啟網頁,出現錯誤訊息
if函數中的>&<&=是否可以使用儲存格代替
筆電無法使用usb開機重裝系統
Palo alto防火牆網頁解密問題?
熱門文章
[翻譯]使用AI工具寫程式碼時如何避免「AI幻覺」?
每日一篇學習筆記 直到我做完專題 :( [Day4]
每日一篇學習筆記 直到我做完專題 :( [Day5]
每日一篇學習筆記 直到我做完專題 :( [Day6]
每日一篇學習筆記 直到我做完專題 :( [Day7]
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}